1. Field of the Invention
The present invention is related to systems and methods used to facilitate computer based testing such as those that utilize network systems. More particularly, the present invention uses cacheable objects to expand functionality of a test driver application. And, even more particularly, such cacheable objects include cacheable data objects and cacheable program and application objects that may be used by a test driver application in facilitating test taking and administration.
2. Description of the Related Art
For many years, standardized testing has been a common method of assessing examinees as regards educational placement, skill evaluation, etc Due to the prevalence and mass distribution of standardized tests, computer-based testing has emerged as a superior method for providing standardized tests, guaranteeing accurate scoring, and ensuring prompt return of test results to examinees.
Tests are developed based on the requirements and particulars of test developers. Typically, test developers employ psychometricians or statisticians and psychologists to determine the specific requirements specific to human assessment. These experts often have their own, unique ideas regarding how a test should be presented and regarding the necessary contents of that test, including the visual format of the test as well as the data content of the test. Therefore, a particular computer-based test has to be customized to fulfill the client's requirements.
FIG. 1 illustrates a prior art process for computerized test customization, denoted generally by reference numeral 10. First, a client details the desired test requirements and specifications, step 12. The computerized test publisher then creates the tools that allow the test publisher to author the items, presentations, etc., required to fulfill the requirements, step 14. The test publisher then writes an item viewer, which allows the test publisher to preview what is being authored, step 16.
An item presenter is then written to present the new item, for example, to the test driver, step 18. Presenting the new item to the test driver requires a modification of the test driver's executable code. The test driver must be modified so that it is aware of the new item and can communicate with the new item presenter, step 20. The test packager must then also be modified, step 22. The test packager, which may also be a compiler, takes what the test publisher has created and writes the result as new object codes for the new syntax. Subsequently, the scoring engine must also be modified to be able to score the new item type, step 24. Finally, the results processor must be modified to be able to accept the new results from the new item, step 26. This process requires no less than seven software creations or modifications to existing software.
U.S. Pat. No. 5,827,070 (Kershaw et al.) and U.S. Pat. No. 5,565,316 (Kershaw et al.) are incorporated herein by reference. The '070 and '316 patents, which have similar specifications, disclose a computer-based testing system comprising a test development system and a test delivery system. The test development system comprises a test document creation system for specifying the test contents, an item preparation system for computerizing each of the items in the test, a test preparation system for preparing a computerized test, and a test packaging system for combining all of the items and test components into a computerized test package. The computerized test package is then delivered to authorized examinees on a workstation by the test delivery system.
FIGS. 2A and 2B illustrate the test preparation process as disclosed in the '070 and '316 patents. Test developers assemble the test as shown at 32. As shown at 36, item selection is preferably automated (AIS) using the test development/document creation (“TD/DC”) system or an equivalent test document creation system. Using “TD/DC”, test developers enter the test specifications into the “TD/DC” system. Based on these specifications, “TD/DC” searches its central database for items, which satisfy the test specification, e.g., 50 math questions, 25 of which are algebra problems and 25, which are geometry problems. Then, the test developers review the items selected by “TD/DC” for sensitivity and overlap constraints described in the background section. If the test developer decides that the sensitivity or overlap constraints are not satisfied by the current selection of items, certain items may be designated to be replaced by another item from the database. In addition, test developers provide a test description specifying the directions, messages, timing of sections, number of sections of the test, etc. as shown at 42. If a computer adaptive test (CAT) is to be run, test developers may run a computer adaptive test simulation at 34, which are known to skilled test developers. Using the Test Preparation Tool (TPT) and TOOLBOOK 46, the test preparation system (“TPS”) prepares the test level components as shown at 50. TOOLBOOK is commercially available from Asymetrix Corporation. The test level components include scripts 66, item table block sets 56, general information screens 58, direction screens 60, message screens 62, and tutorial units 64. Each of the test components will be described in detail below. As the components are prepared, the TPT stores them in a TPS network directory 52. Then, the components are entered into the TPS Production database 54. The components stored in the TPS Production database 54 will be retrieved during test packaging.
U.S. Pat. No. 5,513,994 (Kershaw et al.), which is incorporated herein by reference, discloses a centralized administrative system and method of administering standardized test to a plurality of examinees. The administrative system is implemented on a central administration workstation and at least one test workstation located in different rooms at a test center. The administrative system software, which provides substantially administrative functions, is executed from the central administration workstation. The administrative system software, which provides function carried out in connection with a test session, is executed from the testing workstations.
However, computer-based testing has expanded from standalone distribution administered at a local test center to wide area network distribution administered via clustered servers at multiple locations. Thus, a distributed computer-based testing system requires scalability to support continuous exam administration and a high volume of concurrent test candidates who may be located at many remote locations.
Additionally, computer-based tests have evolved from mere display of simple text-based content to include streaming of audio and video content. Thus, a distributed computer-based testing system demands sufficient system resources and storage capacity as well as efficient data communication management to serve bandwidth-intensive multimedia content in a consistent manner.
Moreover, computer-based test models have advanced to include adaptive and simulation test models. Thus, a distributed computer-based testing system must support a variety of complex test models.
Further, a distributed computer-based testing system must facilitate a fair testing environment within a dynamic networked environment to test candidates who may have varying workstation capabilities or network connectivity. A number of factors affect the creation and maintenance of a fair testing environment, including bandwidth mismatches and network latency between a test candidate workstation and a test distribution server as well as between a test distribution server and a test source server, the available system resources of the test source server, the test distribution servers and the test candidate workstations, and test component characteristics (e.g., whether the object is text, audio or video). Thus, it is necessary to monitor candidate progress, candidate performance, network bandwidth, network latency, and server response, among other testing environment variables, during computer-based testing and cache test components in response to changes in the testing environment in order to ensure timely and consistent delivery of the computer-based test. In other words, a distributed computer-based testing system must be adjustable to emulate a suitable testing environment on test candidate workstations concurrently executing the same computer-based test.